Debugging Tools: GDB, OllyDbg

Computer Programming - অ্যাসেম্বলি প্রোগ্রামিং (Assembly Programming) Assembly Language Tools এবং IDE (Assembly Language Tools and IDE) |
257
257

GDB (GNU Debugger)

GDB হলো একটি ওপেন সোর্স ডিবাগার যা সাধারণত Unix এবং Linux সিস্টেমে ব্যবহৃত হয়। এটি প্রোগ্রামারদের প্রোগ্রাম চালানোর সময় ত্রুটি সনাক্ত ও ঠিক করতে সাহায্য করে।

GDB-এর বৈশিষ্ট্য

  • ব্রেকপয়েন্ট সেট করা: প্রোগ্রামের যেকোনো অংশে ব্রেকপয়েন্ট সেট করে কোডের সেই অংশে থামানো যায়।
  • প্রোগ্রাম এক্সিকিউশন নিয়ন্ত্রণ: প্রোগ্রাম স্টেপ-বাই-স্টেপ এক্সিকিউশন, যেমন স্টেপ ইন, স্টেপ ওভার, এবং কন্টিনিউ করা যায়।
  • ভেরিয়েবল এবং মেমরি পরিদর্শন: চলমান প্রোগ্রামের ভেরিয়েবল এবং মেমরির মান দেখা ও পরিবর্তন করা যায়।
  • স্ট্যাক ট্রেসিং: প্রোগ্রামের স্ট্যাক ট্রেস দেখা, যা বিভিন্ন ফাংশন কল এবং তাদের সম্পর্ক বোঝায়।
  • কোড বিশ্লেষণ: GDB প্রোগ্রামের উৎস কোড বা অ্যাসেম্বলি লেভেলে কোড বিশ্লেষণ করতে পারে।
  • মাল্টি-থ্রেডিং সাপোর্ট: GDB মাল্টি-থ্রেড প্রোগ্রামগুলোর ডিবাগিংও সাপোর্ট করে।

GDB-এর ব্যবহার উদাহরণ

GDB দিয়ে একটি প্রোগ্রাম ডিবাগ করতে:

  1. প্রোগ্রাম কম্পাইল:

    gcc -g program.c -o program

    এখানে -g ফ্ল্যাগ ডিবাগিং তথ্য যোগ করে।

  2. GDB শুরু:

    gdb ./program
  3. ব্রেকপয়েন্ট সেট করা:

    (gdb) break main
  4. প্রোগ্রাম চালানো:

    (gdb) run
  5. স্টেপ-বাই-স্টেপ এক্সিকিউশন:

    (gdb) next

OllyDbg

OllyDbg হলো Windows ভিত্তিক একটি ডিবাগিং টুল যা গ্রাফিকাল ইন্টারফেস ব্যবহার করে। এটি বিশেষভাবে 32-বিট এক্সিকিউটেবলগুলোর জন্য ডিজাইন করা হয়েছে এবং রিভার্স ইঞ্জিনিয়ারিংয়ে ব্যাপকভাবে ব্যবহৃত হয়।

OllyDbg-এর বৈশিষ্ট্য

  • ডায়নামিক কোড বিশ্লেষণ: OllyDbg প্রোগ্রামের রানটাইম এক্সিকিউশন বিশ্লেষণ করতে সক্ষম, যা প্রোগ্রামের আচরণ বুঝতে সাহায্য করে।
  • রেজিস্টার এবং মেমরি পরিদর্শন: ইউজাররা রেজিস্টার এবং মেমরির বর্তমান মান দেখতে এবং সেগুলো পরিবর্তন করতে পারে।
  • ইনস্ট্রাকশন ট্রেসিং: প্রোগ্রামের ইনস্ট্রাকশন লেভেলে ট্রেসিং করা যায় যা প্রতিটি কমান্ডের কার্যকারিতা পর্যবেক্ষণ করতে সাহায্য করে।
  • স্ট্যাক এনালাইসিস: স্ট্যাকের অবস্থা পর্যালোচনা এবং স্ট্যাক ওভারফ্লো, পয়েন্টার সমস্যাসহ অন্যান্য ত্রুটি সনাক্ত করা যায়।
  • ব্রেকপয়েন্ট ম্যানেজমেন্ট: সফটওয়্যার এবং হার্ডওয়্যার ব্রেকপয়েন্ট সেট করে ট্রেসিং করা যায়।
  • কোড প্যাচিং: প্রোগ্রামিং কোড প্যাচ করে সাময়িক পরিবর্তন করে ফলাফল পর্যালোচনা করা যায়।

OllyDbg-এর ব্যবহার উদাহরণ

  1. এক্সিকিউটেবল লোড করা: OllyDbg-এ .exe ফাইল লোড করুন।
  2. ব্রেকপয়েন্ট সেট করা: প্রোগ্রামের কোডে নির্দিষ্ট স্থানে ব্রেকপয়েন্ট সেট করুন।
  3. প্রোগ্রাম রান করা: প্লে বোতাম চাপুন বা F9 চাপুন।
  4. ইনস্ট্রাকশন পর্যবেক্ষণ: প্রতিটি ইনস্ট্রাকশনের কার্যকারিতা পর্যবেক্ষণ এবং প্রয়োজনমতো কোড পরিবর্তন।

GDB এবং OllyDbg-এর তুলনা

বৈশিষ্ট্যGDBOllyDbg
প্ল্যাটফর্মUnix/LinuxWindows
ইউজার ইন্টারফেসকমান্ড-লাইনগ্রাফিকাল (GUI)
সাপোর্টেড আর্কিটেকচারপ্রধানত 64-বিট এবং 32-বিটপ্রধানত 32-বিট
রিভার্স ইঞ্জিনিয়ারিংসীমিতউন্নত
ডায়নামিক বিশ্লেষণরয়েছেআরও শক্তিশালী

GDB এবং OllyDbg উভয়ই প্রোগ্রাম ডিবাগিংয়ের জন্য শক্তিশালী টুল, তবে এগুলোর ব্যবহারের ধরন এবং সুবিধাগুলো নির্ভর করে প্ল্যাটফর্ম এবং প্রোগ্রামারের পছন্দের উপর।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion